# vim: set fileencoding=utf8
from django.shortcuts import render_to_response
from django.template import RequestContext

from vapi.person.models import Person, Group, MyGroup


from vapi.tools.leecher import VkontakteLeecher
from vapi.tools.parser import VkontakteProfileParser

def index1(request):
    context = { 'page_title' : 'Мой вконтакте',
               'message' : 'Тестовая страница VAPI'
            }
    
    message = 'Данные профайла успешно внесены в базу данных'
    
    leecher = VkontakteLeecher("ad3002@gmail.com", "toteato")
    parser = VkontakteProfileParser()
    fpage = leecher.login()
    lines=fpage.read()
    lines = lines.decode("cp1251").encode("utf8")
    
    pdata = parser.parse_basic_info(lines)
    
    return render_to_response('message.html',context_instance=RequestContext(request,
                                                         context))

def index2(request):
    
    message = 'Данные профайла успешно внесены в базу данных'
    
    leecher = VkontakteLeecher("ad3002@gmail.com", "toteato")
    parser = VkontakteProfileParser()
    
    fpage = leecher.login()
    lines=fpage.read()
    lines = lines.decode("cp1251").encode("utf8")

    
    pdata = parser.parse(lines)
    
    
    
    me = Person()
    
    
    for field in pdata:
        setattr(me, field, pdata[field])
    try:
        me.save()
    except:
        message += "Данные уже есть в базе данных"
        
    
    groups = parser.parse_groups(lines)
    
    for group in groups:
        gr = Group()
        megr = MyGroup()
     
        gr.group_idnum = group["group_idnum"]
        gr.title = group["title"]
        megr.idnum = me.idnum
        megr.group_idnum = group["group_idnum"]
        try:
            gr.save()
        except:
            message += " Не удается добавить информациб о группе. "
        try:
            megr.save()
        except:
            message += " Не удается добавить информацию о членстве в группе. "
    #TODO
    # Какая-то проверка, чтобы в базе были только уникаьлные пары idnum---group_idnum    
        
        
    # TODO
    # Должна быть проверка на то, отличается ли предыдущий вариант объекта от этого, 
    # смотрим по idnum 

    
    
    context = { 'page_title' : 'Мой вконтакте',
               'message' : message,
               'person' : me,
            }
    
    return render_to_response('profile.html',context_instance=RequestContext(request,
                                                                          context))